﻿using System;
using System.CodeDom.Compiler;
using System.Diagnostics;
using Google.Protobuf;
using Google.Protobuf.Reflection;

namespace EggLink.DanhengServer.Proto
{
	// Token: 0x02000C81 RID: 3201
	[DebuggerDisplay("{ToString(),nq}")]
	public sealed class NpcMonsterExtraInfo : IMessage<NpcMonsterExtraInfo>, IMessage, IEquatable<NpcMonsterExtraInfo>, IDeepCloneable<NpcMonsterExtraInfo>, IBufferMessage
	{
		// Token: 0x1700284F RID: 10319
		// (get) Token: 0x06008F16 RID: 36630 RVA: 0x0017C251 File Offset: 0x0017A451
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public static MessageParser<NpcMonsterExtraInfo> Parser
		{
			get
			{
				return NpcMonsterExtraInfo._parser;
			}
		}

		// Token: 0x17002850 RID: 10320
		// (get) Token: 0x06008F17 RID: 36631 RVA: 0x0017C258 File Offset: 0x0017A458
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public static MessageDescriptor Descriptor
		{
			get
			{
				return NpcMonsterExtraInfoReflection.Descriptor.MessageTypes[0];
			}
		}

		// Token: 0x17002851 RID: 10321
		// (get) Token: 0x06008F18 RID: 36632 RVA: 0x0017C26A File Offset: 0x0017A46A
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		MessageDescriptor IMessage.Descriptor
		{
			get
			{
				return NpcMonsterExtraInfo.Descriptor;
			}
		}

		// Token: 0x06008F19 RID: 36633 RVA: 0x0017C271 File Offset: 0x0017A471
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public NpcMonsterExtraInfo()
		{
		}

		// Token: 0x06008F1A RID: 36634 RVA: 0x0017C279 File Offset: 0x0017A479
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public NpcMonsterExtraInfo(NpcMonsterExtraInfo other) : this()
		{
			this.rogueGameInfo_ = ((other.rogueGameInfo_ != null) ? other.rogueGameInfo_.Clone() : null);
			this._unknownFields = UnknownFieldSet.Clone(other._unknownFields);
		}

		// Token: 0x06008F1B RID: 36635 RVA: 0x0017C2AE File Offset: 0x0017A4AE
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public NpcMonsterExtraInfo Clone()
		{
			return new NpcMonsterExtraInfo(this);
		}

		// Token: 0x17002852 RID: 10322
		// (get) Token: 0x06008F1C RID: 36636 RVA: 0x0017C2B6 File Offset: 0x0017A4B6
		// (set) Token: 0x06008F1D RID: 36637 RVA: 0x0017C2BE File Offset: 0x0017A4BE
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public NpcMonsterRogueInfo RogueGameInfo
		{
			get
			{
				return this.rogueGameInfo_;
			}
			set
			{
				this.rogueGameInfo_ = value;
			}
		}

		// Token: 0x06008F1E RID: 36638 RVA: 0x0017C2C7 File Offset: 0x0017A4C7
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override bool Equals(object other)
		{
			return this.Equals(other as NpcMonsterExtraInfo);
		}

		// Token: 0x06008F1F RID: 36639 RVA: 0x0017C2D5 File Offset: 0x0017A4D5
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public bool Equals(NpcMonsterExtraInfo other)
		{
			return other != null && (other == this || (object.Equals(this.RogueGameInfo, other.RogueGameInfo) && object.Equals(this._unknownFields, other._unknownFields)));
		}

		// Token: 0x06008F20 RID: 36640 RVA: 0x0017C308 File Offset: 0x0017A508
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override int GetHashCode()
		{
			int num = 1;
			if (this.rogueGameInfo_ != null)
			{
				num ^= this.RogueGameInfo.GetHashCode();
			}
			if (this._unknownFields != null)
			{
				num ^= this._unknownFields.GetHashCode();
			}
			return num;
		}

		// Token: 0x06008F21 RID: 36641 RVA: 0x0017C344 File Offset: 0x0017A544
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override string ToString()
		{
			return JsonFormatter.ToDiagnosticString(this);
		}

		// Token: 0x06008F22 RID: 36642 RVA: 0x0017C34C File Offset: 0x0017A54C
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void WriteTo(CodedOutputStream output)
		{
			output.WriteRawMessage(this);
		}

		// Token: 0x06008F23 RID: 36643 RVA: 0x0017C355 File Offset: 0x0017A555
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		void IBufferMessage.InternalWriteTo(ref WriteContext output)
		{
			if (this.rogueGameInfo_ != null)
			{
				output.WriteRawTag(34);
				output.WriteMessage(this.RogueGameInfo);
			}
			if (this._unknownFields != null)
			{
				this._unknownFields.WriteTo(ref output);
			}
		}

		// Token: 0x06008F24 RID: 36644 RVA: 0x0017C388 File Offset: 0x0017A588
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public int CalculateSize()
		{
			int num = 0;
			if (this.rogueGameInfo_ != null)
			{
				num += 1 + CodedOutputStream.ComputeMessageSize(this.RogueGameInfo);
			}
			if (this._unknownFields != null)
			{
				num += this._unknownFields.CalculateSize();
			}
			return num;
		}

		// Token: 0x06008F25 RID: 36645 RVA: 0x0017C3C8 File Offset: 0x0017A5C8
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void MergeFrom(NpcMonsterExtraInfo other)
		{
			if (other == null)
			{
				return;
			}
			if (other.rogueGameInfo_ != null)
			{
				if (this.rogueGameInfo_ == null)
				{
					this.RogueGameInfo = new NpcMonsterRogueInfo();
				}
				this.RogueGameInfo.MergeFrom(other.RogueGameInfo);
			}
			this._unknownFields = UnknownFieldSet.MergeFrom(this._unknownFields, other._unknownFields);
		}

		// Token: 0x06008F26 RID: 36646 RVA: 0x0017C41C File Offset: 0x0017A61C
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void MergeFrom(CodedInputStream input)
		{
			input.ReadRawMessage(this);
		}

		// Token: 0x06008F27 RID: 36647 RVA: 0x0017C428 File Offset: 0x0017A628
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		void IBufferMessage.InternalMergeFrom(ref ParseContext input)
		{
			uint num;
			while ((num = input.ReadTag()) != 0U)
			{
				if (num != 34U)
				{
					this._unknownFields = UnknownFieldSet.MergeFieldFrom(this._unknownFields, ref input);
				}
				else
				{
					if (this.rogueGameInfo_ == null)
					{
						this.RogueGameInfo = new NpcMonsterRogueInfo();
					}
					input.ReadMessage(this.RogueGameInfo);
				}
			}
		}

		// Token: 0x04003693 RID: 13971
		private static readonly MessageParser<NpcMonsterExtraInfo> _parser = new MessageParser<NpcMonsterExtraInfo>(() => new NpcMonsterExtraInfo());

		// Token: 0x04003694 RID: 13972
		private UnknownFieldSet _unknownFields;

		// Token: 0x04003695 RID: 13973
		public const int RogueGameInfoFieldNumber = 4;

		// Token: 0x04003696 RID: 13974
		private NpcMonsterRogueInfo rogueGameInfo_;
	}
}
